// ******************************************************************************
// Copyright     :  Copyright (C) 2018, Hisilicon Technologies Co. Ltd.
// File name     :  its_cfg_c_union_define.h
// Project line  :  Platform And Key Technologies Development
// Department    :  CAD Development Department
// Author        :  xxx
// Version       :  1
// Date          :  2013/3/10
// Description   :  The description of xxx project
// Others        :  Generated automatically by nManager V4.2
// History       :  xxx 2018/05/11 14:50:31 Create file
// ******************************************************************************

#ifndef __ITS_CFG_C_UNION_DEFINE_H__
#define __ITS_CFG_C_UNION_DEFINE_H__

/* Define the union U_GITS_CTLR */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    ctlr_quiescent  : 1  ; /* [31] */
        unsigned int    rsv_0           : 23  ; /* [30:8] */
        unsigned int    ctlr_itsnumber  : 4  ; /* [7:4] */
        unsigned int    rsv_1           : 2  ; /* [3:2] */
        unsigned int    ctlr_vlpienable : 1  ; /* [1] */
        unsigned int    ctlr_enable     : 1  ; /* [0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_CTLR;

/* Define the union U_GITS_IIDR */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    productid          : 8  ; /* [31:24] */
        unsigned int    rsv_2              : 4  ; /* [23:20] */
        unsigned int    variant            : 4  ; /* [19:16] */
        unsigned int    revision           : 4  ; /* [15:12] */
        unsigned int    jedec_continuation : 4  ; /* [11:8] */
        unsigned int    rsv_3              : 1  ; /* [7] */
        unsigned int    jedec_id           : 7  ; /* [6:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_IIDR;

/* Define the union U_GITS_TYPER */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    typer_hcc         : 8  ; /* [31:24] */
        unsigned int    rsv_4             : 4  ; /* [23:20] */
        unsigned int    typer_pta         : 1  ; /* [19] */
        unsigned int    typer_seis        : 1  ; /* [18] */
        unsigned int    typer_devbits     : 5  ; /* [17:13] */
        unsigned int    typer_idbits      : 5  ; /* [12:8] */
        unsigned int    typer_ittes       : 4  ; /* [7:4] */
        unsigned int    typer_distributed : 1  ; /* [3] */
        unsigned int    typer_direct      : 1  ; /* [2] */
        unsigned int    typer_virtual     : 1  ; /* [1] */
        unsigned int    typer_physical    : 1  ; /* [0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_TYPER;

/* Define the union U_GITS_CBASER_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    cbaser_pa_l         : 20  ; /* [31:12] */
        unsigned int    cbaser_shareability : 2  ; /* [11:10] */
        unsigned int    rsv_5               : 2  ; /* [9:8] */
        unsigned int    cbaser_size         : 8  ; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_CBASER_L;

/* Define the union U_GITS_CBASER_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    cbaser_valid        : 1  ; /* [31] */
        unsigned int    rsv_6               : 1  ; /* [30] */
        unsigned int    cbaser_cacheability : 3  ; /* [29:27] */
        unsigned int    rsv_7               : 11  ; /* [26:16] */
        unsigned int    cbaser_pa_h         : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_CBASER_H;

/* Define the union U_GITS_CWRITER_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_8          : 12  ; /* [31:20] */
        unsigned int    cwriter_offset : 15  ; /* [19:5] */
        unsigned int    rsv_9          : 4  ; /* [4:1] */
        unsigned int    cwriter_retry  : 1  ; /* [0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_CWRITER_L;

/* Define the union U_GITS_CWRITER_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_10 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_CWRITER_H;

/* Define the union U_GITS_CREADR_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_11        : 12  ; /* [31:20] */
        unsigned int    creadr_offset : 15  ; /* [19:5] */
        unsigned int    rsv_12        : 4  ; /* [4:1] */
        unsigned int    creadr_stall  : 1  ; /* [0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_CREADR_L;

/* Define the union U_GITS_CREADR_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_13 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_CREADR_H;

/* Define the union U_GITS_BASER0_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    baser_pa_l0         : 20  ; /* [31:12] */
        unsigned int    baser_shareability0 : 2  ; /* [11:10] */
        unsigned int    baser_pagesize0     : 2  ; /* [9:8] */
        unsigned int    baser_size0         : 8  ; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_BASER0_L;

/* Define the union U_GITS_BASER0_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    baser_valid0        : 1  ; /* [31] */
        unsigned int    baser_indirect0     : 1  ; /* [30] */
        unsigned int    baser_cacheability0 : 3  ; /* [29:27] */
        unsigned int    baser_type0         : 3  ; /* [26:24] */
        unsigned int    baser_entrysize0    : 8  ; /* [23:16] */
        unsigned int    baser_pa_h0         : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_BASER0_H;

/* Define the union U_GITS_BASER1_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    baser_pa_l1         : 20  ; /* [31:12] */
        unsigned int    baser_shareability1 : 2  ; /* [11:10] */
        unsigned int    baser_pagesize1     : 2  ; /* [9:8] */
        unsigned int    baser_size1         : 8  ; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_BASER1_L;

/* Define the union U_GITS_BASER1_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    baser_valid1        : 1  ; /* [31] */
        unsigned int    baser_indirect1     : 1  ; /* [30] */
        unsigned int    baser_cacheability1 : 3  ; /* [29:27] */
        unsigned int    baser_type1         : 3  ; /* [26:24] */
        unsigned int    baser_entrysize1    : 8  ; /* [23:16] */
        unsigned int    baser_pa_h1         : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_BASER1_H;

/* Define the union U_GITS_BASER2_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    baser_pa_l2         : 20  ; /* [31:12] */
        unsigned int    baser_shareability2 : 2  ; /* [11:10] */
        unsigned int    baser_pagesize2     : 2  ; /* [9:8] */
        unsigned int    baser_size2         : 8  ; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_BASER2_L;

/* Define the union U_GITS_BASER2_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    baser_valid2        : 1  ; /* [31] */
        unsigned int    baser_indirect2     : 1  ; /* [30] */
        unsigned int    baser_cacheability2 : 3  ; /* [29:27] */
        unsigned int    baser_type2         : 3  ; /* [26:24] */
        unsigned int    baser_entrysize2    : 8  ; /* [23:16] */
        unsigned int    baser_pa_h2         : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_BASER2_H;

/* Define the union U_GITS_CIDR0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_14        : 24  ; /* [31:8] */
        unsigned int    component_id0 : 8  ; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_CIDR0;

/* Define the union U_GITS_CIDR1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_15        : 24  ; /* [31:8] */
        unsigned int    component_id1 : 8  ; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_CIDR1;

/* Define the union U_GITS_CIDR2 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_16        : 24  ; /* [31:8] */
        unsigned int    component_id2 : 8  ; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_CIDR2;

/* Define the union U_GITS_CIDR3 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_17        : 24  ; /* [31:8] */
        unsigned int    component_id3 : 8  ; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_CIDR3;

/* Define the union U_GITS_PIDR0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_18        : 24  ; /* [31:8] */
        unsigned int    pidr0_devid_l : 8  ; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_PIDR0;

/* Define the union U_GITS_PIDR1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_19        : 24  ; /* [31:8] */
        unsigned int    pidr1_jep_l   : 4  ; /* [7:4] */
        unsigned int    pidr1_devid_h : 4  ; /* [3:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_PIDR1;

/* Define the union U_GITS_PIDR2 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_20        : 24  ; /* [31:8] */
        unsigned int    pidr2_its_ver : 4  ; /* [7:4] */
        unsigned int    pidr2_jepen   : 1  ; /* [3] */
        unsigned int    pidr2_jep_h   : 3  ; /* [2:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_PIDR2;

/* Define the union U_GITS_PIDR3 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_21         : 24  ; /* [31:8] */
        unsigned int    pidr3_user_ver : 4  ; /* [7:4] */
        unsigned int    pidr3_user     : 4  ; /* [3:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_PIDR3;

/* Define the union U_GITS_PIDR4 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_22                 : 24  ; /* [31:8] */
        unsigned int    rsv_23                 : 4  ; /* [7:4] */
        unsigned int    pidr4_continuationcode : 4  ; /* [3:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_PIDR4;

/* Define the union U_GITS_PIDR5 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_24 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_PIDR5;

/* Define the union U_GITS_PIDR6 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_25 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_PIDR6;

/* Define the union U_GITS_PIDR7 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_26 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_PIDR7;

/* Define the union U_GITS_TRANSLATER_L */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    translater_id : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_TRANSLATER_L;

/* Define the union U_GITS_TRANSLATER_H */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    translater_did : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_TRANSLATER_H;

/* Define the union U_GITS_DFX_AXIERR */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_27           : 27  ; /* [31:5] */
        unsigned int    sl3_wr_berr      : 1  ; /* [4] */
        unsigned int    sl2_rddata_null  : 1  ; /* [3] */
        unsigned int    sl1_rddata_null  : 1  ; /* [2] */
        unsigned int    sl0_rddata_null  : 1  ; /* [1] */
        unsigned int    cmdq_rddata_null : 1  ; /* [0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_AXIERR;

/* Define the union U_GITS_CFG_CNT_CLR_CE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_28     : 30  ; /* [31:2] */
        unsigned int    snap_en    : 1  ; /* [1] */
        unsigned int    cnt_clr_ce : 1  ; /* [0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_CFG_CNT_CLR_CE;

/* Define the union U_GITS_DFX_AXIWR_CNT */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_29           : 1  ; /* [31] */
        unsigned int    sl3_rd_ack_cnt   : 1  ; /* [30] */
        unsigned int    sl3_rd_req_cnt   : 1  ; /* [29] */
        unsigned int    sl3_rd_rpop_cnt  : 1  ; /* [28] */
        unsigned int    sl3_wr_bresp_cnt : 4  ; /* [27:24] */
        unsigned int    sl3_wr_ack_cnt   : 4  ; /* [23:20] */
        unsigned int    sl3_wr_req_cnt   : 4  ; /* [19:16] */
        unsigned int    rsv_30           : 1  ; /* [15] */
        unsigned int    sl2_rd_rpop_cnt  : 1  ; /* [14] */
        unsigned int    sl2_rd_ack_cnt   : 1  ; /* [13] */
        unsigned int    sl2_rd_req_cnt   : 1  ; /* [12] */
        unsigned int    rsv_31           : 1  ; /* [11] */
        unsigned int    sl1_rd_rpop_cnt  : 1  ; /* [10] */
        unsigned int    sl1_rd_ack_cnt   : 1  ; /* [9] */
        unsigned int    sl1_rd_req_cnt   : 1  ; /* [8] */
        unsigned int    rsv_32           : 1  ; /* [7] */
        unsigned int    sl0_rd_rpop_cnt  : 1  ; /* [6] */
        unsigned int    sl0_rd_ack_cnt   : 1  ; /* [5] */
        unsigned int    sl0_rd_req_cnt   : 1  ; /* [4] */
        unsigned int    rsv_33           : 1  ; /* [3] */
        unsigned int    cmdq_rd_rpop_cnt : 1  ; /* [2] */
        unsigned int    cmdq_rd_ack_cnt  : 1  ; /* [1] */
        unsigned int    cmdq_rd_req_cnt  : 1  ; /* [0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_AXIWR_CNT;

/* Define the union U_GITS_DFX_SYS_ERR0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    sys_err0 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_SYS_ERR0;

/* Define the union U_GITS_DFX_SYS_ERR1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    sys_err1 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_SYS_ERR1;

/* Define the union U_GITS_DFX_SYS_ERR2 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    sys_err2 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_SYS_ERR2;

/* Define the union U_GITS_DFX_ST */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_34           : 2  ; /* [31:30] */
        unsigned int    sl3_fsm_st       : 2  ; /* [29:28] */
        unsigned int    rsv_35           : 1  ; /* [27] */
        unsigned int    sl2_fsm_st       : 3  ; /* [26:24] */
        unsigned int    rsv_36           : 1  ; /* [23] */
        unsigned int    sl1_fsm_st       : 3  ; /* [22:20] */
        unsigned int    rsv_37           : 1  ; /* [19] */
        unsigned int    sl0_fsm_st       : 3  ; /* [18:16] */
        unsigned int    rsv_38           : 5  ; /* [15:11] */
        unsigned int    translater_rq_st : 1  ; /* [10] */
        unsigned int    rsv_39           : 1  ; /* [9] */
        unsigned int    rsv_40           : 5  ; /* [8:4] */
        unsigned int    rsv_41           : 4  ; /* [3:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_ST;

/* Define the union U_GITS_DFX_CFIFO_ST */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_42           : 30  ; /* [31:2] */
        unsigned int    cmdq_fifo_status : 2  ; /* [1:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_CFIFO_ST;

/* Define the union U_GITS_AXIM_USER */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_43         : 1  ; /* [31] */
        unsigned int    user_fp        : 1  ; /* [30] */
        unsigned int    user_type      : 2  ; /* [29:28] */
        unsigned int    user_cleaninv  : 1  ; /* [27] */
        unsigned int    user_fna       : 1  ; /* [26] */
        unsigned int    user_fa        : 1  ; /* [25] */
        unsigned int    rsv_44         : 7  ; /* [24:18] */
        unsigned int    user_snapattr  : 2  ; /* [17:16] */
        unsigned int    user_requestid : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_AXIM_USER;

/* Define the union U_GITS_DFX_LAST_ID */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_45       : 16  ; /* [31:16] */
        unsigned int    dfx_rx_lpiid : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_LAST_ID;

/* Define the union U_GITS_DFX_LAST_DID */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_46       : 4  ; /* [31:28] */
        unsigned int    dfx_rx_cmdid : 8  ; /* [27:20] */
        unsigned int    dfx_rx_did   : 20  ; /* [19:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_LAST_DID;

/* Define the union U_GITS_DFX_CACHE_CNT_CS */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_47           : 30  ; /* [31:2] */
        unsigned int    dfx_cache_cnt_cs : 2  ; /* [1:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_CACHE_CNT_CS;

/* Define the union U_GITS_DFX_CACHE_MISS_CNT */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    dfx_cache_miss_cnt : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_CACHE_MISS_CNT;

/* Define the union U_GITS_BD */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    iidr_productid            : 8  ; /* [31:24] */
        unsigned int    bd_pidr4_continuationcode : 4  ; /* [23:20] */
        unsigned int    pidr01_devid              : 12  ; /* [19:8] */
        unsigned int    pidr2_jedecen             : 1  ; /* [7] */
        unsigned int    pidr12_jedecid            : 7  ; /* [6:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_BD;

/* Define the union U_GITS_DFX_LPI_CNT */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    dfx_lpirx_cnt : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_LPI_CNT;

/* Define the union U_GITS_DFX_DISCARD_CNT */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    lpi_discard_cnt : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_DISCARD_CNT;

/* Define the union U_GITS_DFX_LPITX_CNT */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    lpitx_cnt : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_LPITX_CNT;

/* Define the union U_GITS_FUNC_EN */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_48             : 10  ; /* [31:22] */
        unsigned int    sl2_cache_inv_succ : 1  ; /* [21] */
        unsigned int    sl1_cache_inv_succ : 1  ; /* [20] */
        unsigned int    sl0_cache_inv_succ : 1  ; /* [19] */
        unsigned int    slx_cache_inv      : 3  ; /* [18:16] */
        unsigned int    feture_en          : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_FUNC_EN;

/* Define the union U_GITS_DFX_VECTOR_CS */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    dfx_devid_cs   : 16  ; /* [31:16] */
        unsigned int    dfx_eventid_cs : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_VECTOR_CS;

/* Define the union U_GITS_DFX_INF0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    dfx_info0 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_INF0;

/* Define the union U_GITS_DFX_INF1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    dfx_info1 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_INF1;

/* Define the union U_GITS_DFX_INF2 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    dfx_info2 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_INF2;

/* Define the union U_GITS_DFX_INF3 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    dfx_info3 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_INF3;

/* Define the union U_GITS_DFX_INF4 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    dfx_info4 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_INF4;

/* Define the union U_GITS_DFX_INF5 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    dfx_info5 : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GITS_DFX_INF5;


//==============================================================================
/* Define the global struct */
typedef struct
{
    volatile U_GITS_CTLR               GITS_CTLR               ; /* 0 */
    volatile U_GITS_IIDR               GITS_IIDR               ; /* 4 */
    volatile U_GITS_TYPER              GITS_TYPER              ; /* 8 */
    volatile U_GITS_CBASER_L           GITS_CBASER_L           ; /* 80 */
    volatile U_GITS_CBASER_H           GITS_CBASER_H           ; /* 84 */
    volatile U_GITS_CWRITER_L          GITS_CWRITER_L          ; /* 88 */
    volatile U_GITS_CWRITER_H          GITS_CWRITER_H          ; /* 8C */
    volatile U_GITS_CREADR_L           GITS_CREADR_L           ; /* 90 */
    volatile U_GITS_CREADR_H           GITS_CREADR_H           ; /* 94 */
    volatile U_GITS_BASER0_L           GITS_BASER0_L           ; /* 100 */
    volatile U_GITS_BASER0_H           GITS_BASER0_H           ; /* 104 */
    volatile U_GITS_BASER1_L           GITS_BASER1_L           ; /* 108 */
    volatile U_GITS_BASER1_H           GITS_BASER1_H           ; /* 10C */
    volatile U_GITS_BASER2_L           GITS_BASER2_L           ; /* 110 */
    volatile U_GITS_BASER2_H           GITS_BASER2_H           ; /* 114 */
    volatile U_GITS_CIDR0              GITS_CIDR0              ; /* FFF0 */
    volatile U_GITS_CIDR1              GITS_CIDR1              ; /* FFF4 */
    volatile U_GITS_CIDR2              GITS_CIDR2              ; /* FFF8 */
    volatile U_GITS_CIDR3              GITS_CIDR3              ; /* FFFC */
    volatile U_GITS_PIDR0              GITS_PIDR0              ; /* FFE0 */
    volatile U_GITS_PIDR1              GITS_PIDR1              ; /* FFE4 */
    volatile U_GITS_PIDR2              GITS_PIDR2              ; /* FFE8 */
    volatile U_GITS_PIDR3              GITS_PIDR3              ; /* FFEC */
    volatile U_GITS_PIDR4              GITS_PIDR4              ; /* FFD0 */
    volatile U_GITS_PIDR5              GITS_PIDR5              ; /* FFD4 */
    volatile U_GITS_PIDR6              GITS_PIDR6              ; /* FFD8 */
    volatile U_GITS_PIDR7              GITS_PIDR7              ; /* FFDC */
    volatile U_GITS_TRANSLATER_L       GITS_TRANSLATER_L       ; /* 10040 */
    volatile U_GITS_TRANSLATER_H       GITS_TRANSLATER_H       ; /* 10044 */
    volatile U_GITS_DFX_AXIERR         GITS_DFX_AXIERR         ; /* 20000 */
    volatile U_GITS_CFG_CNT_CLR_CE     GITS_CFG_CNT_CLR_CE     ; /* 20004 */
    volatile U_GITS_DFX_AXIWR_CNT      GITS_DFX_AXIWR_CNT      ; /* 2000C */
    volatile U_GITS_DFX_SYS_ERR0       GITS_DFX_SYS_ERR0       ; /* 20010 */
    volatile U_GITS_DFX_SYS_ERR1       GITS_DFX_SYS_ERR1       ; /* 20014 */
    volatile U_GITS_DFX_SYS_ERR2       GITS_DFX_SYS_ERR2       ; /* 20018 */
    volatile U_GITS_DFX_ST             GITS_DFX_ST             ; /* 2001C */
    volatile U_GITS_DFX_CFIFO_ST       GITS_DFX_CFIFO_ST       ; /* 20020 */
    volatile U_GITS_AXIM_USER          GITS_AXIM_USER          ; /* 20040 */
    volatile U_GITS_DFX_LAST_ID        GITS_DFX_LAST_ID        ; /* 20044 */
    volatile U_GITS_DFX_LAST_DID       GITS_DFX_LAST_DID       ; /* 20048 */
    volatile U_GITS_DFX_CACHE_CNT_CS   GITS_DFX_CACHE_CNT_CS   ; /* 2004C */
    volatile U_GITS_DFX_CACHE_MISS_CNT GITS_DFX_CACHE_MISS_CNT ; /* 20050 */
    volatile U_GITS_BD          GITS_BD          ; /* 20058 */
    volatile U_GITS_DFX_LPI_CNT        GITS_DFX_LPI_CNT        ; /* 20060 */
    volatile U_GITS_DFX_DISCARD_CNT    GITS_DFX_DISCARD_CNT    ; /* 20064 */
    volatile U_GITS_DFX_LPITX_CNT      GITS_DFX_LPITX_CNT      ; /* 20068 */
    volatile U_GITS_FUNC_EN            GITS_FUNC_EN            ; /* 20080 */
    volatile U_GITS_DFX_VECTOR_CS      GITS_DFX_VECTOR_CS      ; /* 20084 */
    volatile U_GITS_DFX_INF0           GITS_DFX_INF0           ; /* 20088 */
    volatile U_GITS_DFX_INF1           GITS_DFX_INF1           ; /* 2008C */
    volatile U_GITS_DFX_INF2           GITS_DFX_INF2           ; /* 20090 */
    volatile U_GITS_DFX_INF3           GITS_DFX_INF3           ; /* 20094 */
    volatile U_GITS_DFX_INF4           GITS_DFX_INF4           ; /* 20098 */
    volatile U_GITS_DFX_INF5           GITS_DFX_INF5           ; /* 2009C */

} S_its_cfg_REGS_TYPE;

/* Declare the struct pointor of the module its_cfg */
extern volatile S_its_cfg_REGS_TYPE *gopits_cfgAllReg;

/* Declare the functions that set the member value */
int iSetGITS_CTLR_ctlr_quiescent(unsigned int uctlr_quiescent);
int iSetGITS_CTLR_ctlr_itsnumber(unsigned int uctlr_itsnumber);
int iSetGITS_CTLR_ctlr_vlpienable(unsigned int uctlr_vlpienable);
int iSetGITS_CTLR_ctlr_enable(unsigned int uctlr_enable);
int iSetGITS_IIDR_productid(unsigned int uproductid);
int iSetGITS_IIDR_variant(unsigned int uvariant);
int iSetGITS_IIDR_revision(unsigned int urevision);
int iSetGITS_IIDR_jedec_continuation(unsigned int ujedec_continuation);
int iSetGITS_IIDR_jedec_id(unsigned int ujedec_id);
int iSetGITS_TYPER_typer_hcc(unsigned int utyper_hcc);
int iSetGITS_TYPER_typer_pta(unsigned int utyper_pta);
int iSetGITS_TYPER_typer_seis(unsigned int utyper_seis);
int iSetGITS_TYPER_typer_devbits(unsigned int utyper_devbits);
int iSetGITS_TYPER_typer_idbits(unsigned int utyper_idbits);
int iSetGITS_TYPER_typer_ittes(unsigned int utyper_ittes);
int iSetGITS_TYPER_typer_distributed(unsigned int utyper_distributed);
int iSetGITS_TYPER_typer_direct(unsigned int utyper_direct);
int iSetGITS_TYPER_typer_virtual(unsigned int utyper_virtual);
int iSetGITS_TYPER_typer_physical(unsigned int utyper_physical);
int iSetGITS_CBASER_L_cbaser_pa_l(unsigned int ucbaser_pa_l);
int iSetGITS_CBASER_L_cbaser_shareability(unsigned int ucbaser_shareability);
int iSetGITS_CBASER_L_cbaser_size(unsigned int ucbaser_size);
int iSetGITS_CBASER_H_cbaser_valid(unsigned int ucbaser_valid);
int iSetGITS_CBASER_H_cbaser_cacheability(unsigned int ucbaser_cacheability);
int iSetGITS_CBASER_H_cbaser_pa_h(unsigned int ucbaser_pa_h);
int iSetGITS_CWRITER_L_cwriter_offset(unsigned int ucwriter_offset);
int iSetGITS_CWRITER_L_cwriter_retry(unsigned int ucwriter_retry);

int iSetGITS_CREADR_L_creadr_offset(unsigned int ucreadr_offset);
int iSetGITS_CREADR_L_creadr_stall(unsigned int ucreadr_stall);

int iSetGITS_BASER0_L_baser_pa_l0(unsigned int ubaser_pa_l0);
int iSetGITS_BASER0_L_baser_shareability0(unsigned int ubaser_shareability0);
int iSetGITS_BASER0_L_baser_pagesize0(unsigned int ubaser_pagesize0);
int iSetGITS_BASER0_L_baser_size0(unsigned int ubaser_size0);
int iSetGITS_BASER0_H_baser_valid0(unsigned int ubaser_valid0);
int iSetGITS_BASER0_H_baser_indirect0(unsigned int ubaser_indirect0);
int iSetGITS_BASER0_H_baser_cacheability0(unsigned int ubaser_cacheability0);
int iSetGITS_BASER0_H_baser_type0(unsigned int ubaser_type0);
int iSetGITS_BASER0_H_baser_entrysize0(unsigned int ubaser_entrysize0);
int iSetGITS_BASER0_H_baser_pa_h0(unsigned int ubaser_pa_h0);
int iSetGITS_BASER1_L_baser_pa_l1(unsigned int ubaser_pa_l1);
int iSetGITS_BASER1_L_baser_shareability1(unsigned int ubaser_shareability1);
int iSetGITS_BASER1_L_baser_pagesize1(unsigned int ubaser_pagesize1);
int iSetGITS_BASER1_L_baser_size1(unsigned int ubaser_size1);
int iSetGITS_BASER1_H_baser_valid1(unsigned int ubaser_valid1);
int iSetGITS_BASER1_H_baser_indirect1(unsigned int ubaser_indirect1);
int iSetGITS_BASER1_H_baser_cacheability1(unsigned int ubaser_cacheability1);
int iSetGITS_BASER1_H_baser_type1(unsigned int ubaser_type1);
int iSetGITS_BASER1_H_baser_entrysize1(unsigned int ubaser_entrysize1);
int iSetGITS_BASER1_H_baser_pa_h1(unsigned int ubaser_pa_h1);
int iSetGITS_BASER2_L_baser_pa_l2(unsigned int ubaser_pa_l2);
int iSetGITS_BASER2_L_baser_shareability2(unsigned int ubaser_shareability2);
int iSetGITS_BASER2_L_baser_pagesize2(unsigned int ubaser_pagesize2);
int iSetGITS_BASER2_L_baser_size2(unsigned int ubaser_size2);
int iSetGITS_BASER2_H_baser_valid2(unsigned int ubaser_valid2);
int iSetGITS_BASER2_H_baser_indirect2(unsigned int ubaser_indirect2);
int iSetGITS_BASER2_H_baser_cacheability2(unsigned int ubaser_cacheability2);
int iSetGITS_BASER2_H_baser_type2(unsigned int ubaser_type2);
int iSetGITS_BASER2_H_baser_entrysize2(unsigned int ubaser_entrysize2);
int iSetGITS_BASER2_H_baser_pa_h2(unsigned int ubaser_pa_h2);
int iSetGITS_CIDR0_component_id0(unsigned int ucomponent_id0);
int iSetGITS_CIDR1_component_id1(unsigned int ucomponent_id1);
int iSetGITS_CIDR2_component_id2(unsigned int ucomponent_id2);
int iSetGITS_CIDR3_component_id3(unsigned int ucomponent_id3);
int iSetGITS_PIDR0_pidr0_devid_l(unsigned int upidr0_devid_l);
int iSetGITS_PIDR1_pidr1_jep_l(unsigned int upidr1_jep_l);
int iSetGITS_PIDR1_pidr1_devid_h(unsigned int upidr1_devid_h);
int iSetGITS_PIDR2_pidr2_its_ver(unsigned int upidr2_its_ver);
int iSetGITS_PIDR2_pidr2_jepen(unsigned int upidr2_jepen);
int iSetGITS_PIDR2_pidr2_jep_h(unsigned int upidr2_jep_h);
int iSetGITS_PIDR3_pidr3_user_ver(unsigned int upidr3_user_ver);
int iSetGITS_PIDR3_pidr3_user(unsigned int upidr3_user);
int iSetGITS_PIDR4_pidr4_continuationcode(unsigned int upidr4_continuationcode);



int iSetGITS_TRANSLATER_L_translater_id(unsigned int utranslater_id);
int iSetGITS_TRANSLATER_H_translater_did(unsigned int utranslater_did);
int iSetGITS_DFX_AXIERR_sl3_wr_berr(unsigned int usl3_wr_berr);
int iSetGITS_DFX_AXIERR_sl2_rddata_null(unsigned int usl2_rddata_null);
int iSetGITS_DFX_AXIERR_sl1_rddata_null(unsigned int usl1_rddata_null);
int iSetGITS_DFX_AXIERR_sl0_rddata_null(unsigned int usl0_rddata_null);
int iSetGITS_DFX_AXIERR_cmdq_rddata_null(unsigned int ucmdq_rddata_null);
int iSetGITS_CFG_CNT_CLR_CE_snap_en(unsigned int usnap_en);
int iSetGITS_CFG_CNT_CLR_CE_cnt_clr_ce(unsigned int ucnt_clr_ce);
int iSetGITS_DFX_AXIWR_CNT_sl3_rd_ack_cnt(unsigned int usl3_rd_ack_cnt);
int iSetGITS_DFX_AXIWR_CNT_sl3_rd_req_cnt(unsigned int usl3_rd_req_cnt);
int iSetGITS_DFX_AXIWR_CNT_sl3_rd_rpop_cnt(unsigned int usl3_rd_rpop_cnt);
int iSetGITS_DFX_AXIWR_CNT_sl3_wr_bresp_cnt(unsigned int usl3_wr_bresp_cnt);
int iSetGITS_DFX_AXIWR_CNT_sl3_wr_ack_cnt(unsigned int usl3_wr_ack_cnt);
int iSetGITS_DFX_AXIWR_CNT_sl3_wr_req_cnt(unsigned int usl3_wr_req_cnt);
int iSetGITS_DFX_AXIWR_CNT_sl2_rd_rpop_cnt(unsigned int usl2_rd_rpop_cnt);
int iSetGITS_DFX_AXIWR_CNT_sl2_rd_ack_cnt(unsigned int usl2_rd_ack_cnt);
int iSetGITS_DFX_AXIWR_CNT_sl2_rd_req_cnt(unsigned int usl2_rd_req_cnt);
int iSetGITS_DFX_AXIWR_CNT_sl1_rd_rpop_cnt(unsigned int usl1_rd_rpop_cnt);
int iSetGITS_DFX_AXIWR_CNT_sl1_rd_ack_cnt(unsigned int usl1_rd_ack_cnt);
int iSetGITS_DFX_AXIWR_CNT_sl1_rd_req_cnt(unsigned int usl1_rd_req_cnt);
int iSetGITS_DFX_AXIWR_CNT_sl0_rd_rpop_cnt(unsigned int usl0_rd_rpop_cnt);
int iSetGITS_DFX_AXIWR_CNT_sl0_rd_ack_cnt(unsigned int usl0_rd_ack_cnt);
int iSetGITS_DFX_AXIWR_CNT_sl0_rd_req_cnt(unsigned int usl0_rd_req_cnt);
int iSetGITS_DFX_AXIWR_CNT_cmdq_rd_rpop_cnt(unsigned int ucmdq_rd_rpop_cnt);
int iSetGITS_DFX_AXIWR_CNT_cmdq_rd_ack_cnt(unsigned int ucmdq_rd_ack_cnt);
int iSetGITS_DFX_AXIWR_CNT_cmdq_rd_req_cnt(unsigned int ucmdq_rd_req_cnt);
int iSetGITS_DFX_SYS_ERR0_sys_err0(unsigned int usys_err0);
int iSetGITS_DFX_SYS_ERR1_sys_err1(unsigned int usys_err1);
int iSetGITS_DFX_SYS_ERR2_sys_err2(unsigned int usys_err2);
int iSetGITS_DFX_ST_sl3_fsm_st(unsigned int usl3_fsm_st);
int iSetGITS_DFX_ST_sl2_fsm_st(unsigned int usl2_fsm_st);
int iSetGITS_DFX_ST_sl1_fsm_st(unsigned int usl1_fsm_st);
int iSetGITS_DFX_ST_sl0_fsm_st(unsigned int usl0_fsm_st);
int iSetGITS_DFX_ST_translater_rq_st(unsigned int utranslater_rq_st);
int iSetGITS_DFX_CFIFO_ST_cmdq_fifo_status(unsigned int ucmdq_fifo_status);
int iSetGITS_AXIM_USER_user_fp(unsigned int uuser_fp);
int iSetGITS_AXIM_USER_user_type(unsigned int uuser_type);
int iSetGITS_AXIM_USER_user_cleaninv(unsigned int uuser_cleaninv);
int iSetGITS_AXIM_USER_user_fna(unsigned int uuser_fna);
int iSetGITS_AXIM_USER_user_fa(unsigned int uuser_fa);
int iSetGITS_AXIM_USER_user_snapattr(unsigned int uuser_snapattr);
int iSetGITS_AXIM_USER_user_requestid(unsigned int uuser_requestid);
int iSetGITS_DFX_LAST_ID_dfx_rx_lpiid(unsigned int udfx_rx_lpiid);
int iSetGITS_DFX_LAST_DID_dfx_rx_cmdid(unsigned int udfx_rx_cmdid);
int iSetGITS_DFX_LAST_DID_dfx_rx_did(unsigned int udfx_rx_did);
int iSetGITS_DFX_CACHE_CNT_CS_dfx_cache_cnt_cs(unsigned int udfx_cache_cnt_cs);
int iSetGITS_DFX_CACHE_MISS_CNT_dfx_cache_miss_cnt(unsigned int udfx_cache_miss_cnt);
int iSetGITS_BD_iidr_productid(unsigned int uiidr_productid);
int iSetGITS_BD_bd_pidr4_continuationcode(unsigned int ubd_pidr4_continuationcode);
int iSetGITS_BD_pidr01_devid(unsigned int upidr01_devid);
int iSetGITS_BD_pidr2_jedecen(unsigned int upidr2_jedecen);
int iSetGITS_BD_pidr12_jedecid(unsigned int upidr12_jedecid);
int iSetGITS_DFX_LPI_CNT_dfx_lpirx_cnt(unsigned int udfx_lpirx_cnt);
int iSetGITS_DFX_DISCARD_CNT_lpi_discard_cnt(unsigned int ulpi_discard_cnt);
int iSetGITS_DFX_LPITX_CNT_lpitx_cnt(unsigned int ulpitx_cnt);
int iSetGITS_FUNC_EN_sl2_cache_inv_succ(unsigned int usl2_cache_inv_succ);
int iSetGITS_FUNC_EN_sl1_cache_inv_succ(unsigned int usl1_cache_inv_succ);
int iSetGITS_FUNC_EN_sl0_cache_inv_succ(unsigned int usl0_cache_inv_succ);
int iSetGITS_FUNC_EN_slx_cache_inv(unsigned int uslx_cache_inv);
int iSetGITS_FUNC_EN_feture_en(unsigned int ufeture_en);
int iSetGITS_DFX_VECTOR_CS_dfx_devid_cs(unsigned int udfx_devid_cs);
int iSetGITS_DFX_VECTOR_CS_dfx_eventid_cs(unsigned int udfx_eventid_cs);
int iSetGITS_DFX_INF0_dfx_info0(unsigned int udfx_info0);
int iSetGITS_DFX_INF1_dfx_info1(unsigned int udfx_info1);
int iSetGITS_DFX_INF2_dfx_info2(unsigned int udfx_info2);
int iSetGITS_DFX_INF3_dfx_info3(unsigned int udfx_info3);
int iSetGITS_DFX_INF4_dfx_info4(unsigned int udfx_info4);
int iSetGITS_DFX_INF5_dfx_info5(unsigned int udfx_info5);

#endif // __ITS_CFG_C_UNION_DEFINE_H__
